/**
 * File comment: nurse session for the client
 */
package edu.gatech.oad.project.networking.clientSessions; // $codepro.audit.disable packageNamingConvention

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

import edu.gatech.oad.project.networking.ClientSession;
import edu.gatech.oad.project.operations.data.Appointment;
import edu.gatech.oad.project.operations.data.PatientInformation;
import edu.gatech.oad.project.operations.users.Nurse;

/**
 * Nurse session for the client side
 * 
 * @author James Moore
 * @version 1.0
 */
public class NurseSessionClient extends ClientSession{
    
    /**
     * Nurse session for the client side
     * 
     * @param server connection
     * @param outBound stream to the server
     * @param inBound stream from the server
     * @param token security token
     * @param nurse current active user
     */
    public NurseSessionClient(Socket server, ObjectOutputStream outBound, 
                                    ObjectInputStream inBound, long token, Nurse nurse) {
        
        super(server, outBound, inBound, token, nurse);
    }
    
    /**
     * Gets the patients information based on there name
     * 
     * @param name of the patient
     * @return patient info
     */
    @Override
    public PatientInformation getPatientInfo(String name) {
        return new PatientInformation();
    }
    
    /**
     * Updates the patients info based on their name
     * 
     * @param name of the patient
     * @param info updated information of the patient
     */
    @Override
    public void updatePatientInfo(String name, PatientInformation info){
        int annoyingRules = 1;
        annoyingRules++;
    }
    
    /**
     * Gets all the appointments for a patient
     * 
     * @return the appointments of a patient
     */
    @Override
    public List<Appointment> getAppointmentByPatient() {
        
        return new ArrayList<Appointment>();
    }

    /**
     * @see java.lang.Object#toString()
     * @return a string
     */
    @Override
    public String toString() {
        return "NurseSessionClient [server=" + server
                + ", outBound=" + outBound + ", inBound=" + inBound
                + ", token=" + token + ", user=" + user + "]";
    }
    
    
    
    
}